//<%@ taglib prefix="jj" uri="http://jaxson.org/base" %>
namespace( "org.jaxson.util.locale" );

org.jaxson.util.locale.ResourceBundle = function()
{
	var bundle = [];
	
	var that = {
		get : function( key )
		{
			return !bundle[key]?"--undefined key '" + key + '"--':bundle[key];
		},
		format : function( key ){
			var text = that.get(key);
			
		    //check if there are two arguments in the arguments list
		    if ( arguments.length <= 1 ){
		        //if there are not 2 or more arguments there’s nothing to replace
		        //just return the original text
		        return text;
		    }

		    //decrement to move to the second argument in the array
		    var tokenCount = arguments.length - 2;
		    for( var token = 0; token <= tokenCount; token++ ){
		        //iterate through the tokens and replace their placeholders from the original text in order
		        text = text.replace( new RegExp( "\\{" + token + "\\}", "gi" ), arguments[ token + 1 ] );
		    }
		    
		    return text;
		},
		setItems : function( array )
		{
			bundle = array;
		}
	};
	
	inherits ("JaxsonObject", "org.jaxson.util.locale.ResourceBundle", that);
	return that;
};
